int split(int A[],int low,int high){
    int i=low,j;
    int tem=A[low];
    for(j=low+1;j<=high;j++){
	if(A[j]<tem){
	    i++;
	    if(i!=j){
		int temp=A[j];
		A[j]=A[i];
		A[i]=temp;
	    }
	}
    }
    A[low]=A[i];
    A[i]=tem;
    return i;
}
void quickSort(int A[],int low,int high){
    if(low<high){
	int w=split(A,low,high);
	quickSort(A,low,w-1);
	quickSort(A,w+1,high);
    }
}
int select(int A[],int low,int high,int k){
}
int main(int args,char *argv[]){
    int w,A[7]={5,3,9,2,7,1,8};
    quickSort(A,0,7);
    for(int i=0;i<7;i++){
	printf("%d\t",A[i]);
    }
}
